home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / ms_dos / happysrc / happysrc.doc < prev    next >
Encoding:
Text File  |  1993-07-08  |  4.6 KB  |  93 lines

  1. ===========================================================================
  2. 【作 品 名】  HAPPy Version 0.0 (標準Pascal処理系) 全ソースコード
  3. 【作    者】 浅野比富美 (NIFTY-Serve GFA01713)
  4. 【動作環境】 QuickC Version 2.0でコンパイル
  5. ===========================================================================
  6.  
  7. 1.はじめに
  8.    HAPPyは、ISO規格にほぼ準拠する標準Pascalの処理系です。
  9.    Pascalの設計者N.Wirthの大学研究グループが開発し、一般に公開
  10.   されているPascal-P4という処理系をもとに作られています。
  11.    Pascalを使いたい、言語処理系を作ってみたい、という夢をかたちにする
  12.   べく生まれたものですが大きな壁がありました。Pascal-P4はすべてPa
  13.   scalで書かれていますが、私はPascalの処理系を持っていません。Pa
  14.   scal処理系を買ってきたのでは意味がないので、だったらPascal-P4
  15.   をもとに、自分でC言語に書き直してみようと決意したのです。
  16.    そして出来上がったのがHAPPyです。単なるPascal-P4の書き直し
  17.   ではなく、自分なりに改良したり、ISO規格を満たすようにいろいろと変更して
  18.   あります。
  19.    C言語で書かれたHAPPyのソースコードは、言語処理系の実際を見る上で、
  20.   また、今最も流行っているC言語の勉強用に、あるいは自分独自の言語処理系を作
  21.   る上の土台とするのに多少なりとも有用ではないかと思い、あまり良い出来ではな
  22.   いのですが、恥を忍んでフリコレ6に収録してもらうことにしました。
  23.  
  24. 2.ファイル構成
  25.    収録ファイルは、次の通りです。
  26.  
  27.   ドキュメントファイル
  28.       HAPPYSRC.GGG    概要説明
  29.       HAPPYSRC.DOC    ドキュメント
  30.   ヘッダファイル
  31.       PASCOMP .H      コンパイラ共通ヘッダ
  32.       PCPCD   .H      P-codeニーモニックヘッダ
  33.       HAPAI   .H      アセンブラ、インタプリタ共通ヘッダ
  34.     VERSION .H      バージョン番号定義ヘッダ
  35.   コンパイラソース
  36.      PCMAIN  .C      コンパイラメイン処理
  37.       PCINIT  .C      初期設定処理
  38.       PCBLOCK .C      program,block のコンパイル処理
  39.       PCTYPE  .C      型のコンパイル処理
  40.       PCDCL   .C      宣言部のコンパイル処理
  41.       PCCALL  .C      手続き・関数のコンパイル処理
  42.       PCCALUSR.C   ユーザ定義手続き・関数のコンパイル処理
  43.     PCEXPRES.C      式のコンパイル処理
  44.       PCIDENT .C      名前の処理
  45.       PCGENCD .C      P-codeソースの生成処理
  46.       PCINSMBL.C      記号の入力処理
  47.       PCHEAP  .C      HEAPメモリの管理処理
  48.       PCSET   .C      集合操作処理
  49.       PCETC   .C      各種サブルーチン
  50.     PCERR   .C      コンパイルエラーメッセージ出力処理
  51.   アセンブラソース
  52.       PAASM   .C      P-codeアセンブラ
  53.   インタプリタソース
  54.       PIMAIN  .C      P-codeインタプリタ メイン処理
  55.       PICALLSP.C      標準手続き・関数の処理
  56.   MAKEファイル
  57.       PC      .MAK    コンパイラ メイクファイル
  58.       PA      .MAK    アセンブラ  メイクファイル
  59.       PI      .MAK    インタプリタ  メイクファイル
  60.  
  61. 3.ソースコードについて
  62.    前述のPascal-P4は、次の書籍に全ソースコードとその解説が掲載され
  63.   ています。
  64.    「Pascalの言語処理系」 近代科学社 3000円
  65.   この本を見ながら、オリジナルのPascalソースと、収録C言語ソースを比べ
  66.   て少しずつ解読してみて下さい。全部で11000行ほどあるので、根気との勝負
  67.   です。
  68.    プロが仕事で作るソフトならば、何々設計書とかブロック構成図、流れ図、テー
  69.   ブル仕様書など、いろんなドキュメントがあるのですが、HAPPyは、趣味のプ
  70.   ログラムであり、ドキュメントがありません。保守のためにも、追々各種ドキュメ
  71.   ントを揃えていきたいと思っています。結局ドキュメントなしで作っていますので
  72.   プログラムの作りが結構いい加減だったりします。もっともっと改良できるはずで
  73.   す。私自身は、このソースを今後どんどん改良していくつもりです。
  74.    フリコレ6に収録されているソースを、このままQuickCのスモールモデル
  75.   モードでコンパイルしていただければHAPPy Version 0.0の実行
  76.   ファイルが出来上がります。MS-Cでコンパイルすれば、多分さらに効率の良い
  77.   実行ファイルが出来るはずです。
  78.    また、High-Cならば、アセンブラをコンパイラの中に含めたりいろいろ工
  79.   夫すれば、お好みの32ビット版高速処理系を作り出せる楽しみを味わえます。
  80.  
  81. 4.著作権等
  82.    ソースコードの著作権は、浅野比富美にあります。
  83.    しかし、私の名誉を傷つける行為をしないかぎり、ソースコードを自由に使って
  84.   いただいてかまいません。
  85.    そのためにも、改造や流用した人の名前を必ずソースコード及び実行メッセージ
  86.   の中に入れてくださいね。私の名前は消して構いませんから。
  87.  
  88. 5.無保証・無サポートのお断り
  89.    ソースコードに関する質問は、原則として受け付けていません。
  90.    ソースコードの使用による損害について、私は責任を負いません。
  91.  
  92.    ──────── 以上 (HAPPYSRC.DOC  終わり) ────────
  93.